
using QdbUnit;
using QdbUnit.Extensions;
using QdbUnit.Extensions.Fixtures;
using QdbUnit.Extensions.Tests;

namespace QdbUnit.Extensions.Tests
{
	public class QdbEmbeddedSessionFixtureTestCase : ITestCase
	{
		internal readonly QdbEmbeddedSessionFixture subject = new QdbEmbeddedSessionFixture
			();

		public virtual void TestDoesNotAcceptRegularTest()
		{
			Assert.IsFalse(subject.Accept(typeof(QdbEmbeddedSessionFixtureTestCase.RegularTest
				)));
		}

		public virtual void TestAcceptsQdbTest()
		{
			Assert.IsTrue(subject.Accept(typeof(QdbEmbeddedSessionFixtureTestCase.QdbTest))
				);
		}

		public virtual void TestDoesNotAcceptOptOutCS()
		{
			Assert.IsFalse(subject.Accept(typeof(QdbEmbeddedSessionFixtureTestCase.OptOutTest
				)));
		}

		public virtual void TestDoesNotAcceptOptOutAllButNetworkingCS()
		{
			Assert.IsFalse(subject.Accept(typeof(QdbEmbeddedSessionFixtureTestCase.OptOutAllButNetworkingCSTest
				)));
		}

		public virtual void TestAcceptsOptOutNetworking()
		{
			Assert.IsTrue(subject.Accept(typeof(QdbEmbeddedSessionFixtureTestCase.OptOutNetworkingTest
				)));
		}

		internal class RegularTest : ITestCase
		{
		}

		internal class QdbTest : IQdbTestCase
		{
		}

		internal class OptOutTest : IOptOutMultiSession
		{
		}

		internal class OptOutNetworkingTest : IOptOutNetworkingCS
		{
		}

		internal class OptOutAllButNetworkingCSTest : IOptOutAllButNetworkingCS
		{
		}
	}
}
